home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / ddj0897.zip / DYN401.ZIP / class / intdict.c < prev    next >
C/C++ Source or Header  |  1997-04-16  |  4KB  |  142 lines

  1.  
  2.  
  3. /*  Copyright (c) 1993-1996 Algorithms Corporation  */
  4. /*  All rights reserved.  */
  5.  
  6.  
  7.  
  8.  
  9. /*  This file automatically generated by dpp - do not edit  */
  10.  
  11. #define    DPP_STRATEGY    2
  12. #define    DPP_FASTWIDE    0
  13.  
  14.  
  15.  
  16.  
  17. #define    CLASS    IntegerDictionary_c
  18. #define    ivType    IntegerDictionary_iv_t
  19.  
  20. #include "generics.h"
  21.  
  22. object    IntegerDictionary_c;
  23.  
  24.  
  25. #line 22 "intdict.d"
  26. #include "set1.h" 
  27.  
  28.  
  29.  
  30. #define LTYPE 4 
  31.  
  32. static gLookup_t Lookup; 
  33.  
  34. imeth objrtn IntegerDictionary_im_gAddInt(object self, int key, object value)
  35.     ChkArgNul(value, 3); 
  36.     return Lookup(self, (object) &key, HT_ADD, 0, LTYPE, value); 
  37.  
  38. imeth objrtn IntegerDictionary_im_gFindValueInt(object self, int key)
  39.     object x; 
  40.  
  41.     x = Lookup(self, (object) &key, HT_FIND, 0, LTYPE, NULL); 
  42.     return x ? gValue(x) : x; 
  43.  
  44. imeth objrtn IntegerDictionary_im_gFindInt(object self, int key)
  45.     return Lookup(self, (object) &key, HT_FIND, 0, LTYPE, NULL); 
  46.  
  47. imeth objrtn IntegerDictionary_im_gChangeValueWithInt(object self, int key, object val)
  48.     object x; 
  49.     ChkArgNul(val, 3); 
  50.     x = Lookup(self, (object) &key, HT_FIND, 0, LTYPE, NULL); 
  51.     return x ? gChangeValue(x, val) : x; 
  52.  
  53. imeth objrtn IntegerDictionary_im_gFindAddInt(object self, int key, object value)
  54.     ChkArgNul(value, 3); 
  55.     return Lookup(self, (object) &key, HT_FINDADD, 0, LTYPE, value); 
  56.  
  57. imeth objrtn IntegerDictionary_im_gDispose(object self)
  58.     return gDispose1(self); 
  59.  
  60. imeth objrtn IntegerDictionary_im_gDisposeAllNodes(object self)
  61.     return gDisposeAllNodes1(self); 
  62.  
  63. imeth objrtn IntegerDictionary_im_gRemoveInt(object self, int key)
  64.     return Lookup(self, (object) &key, HT_DELETE, 1, LTYPE, NULL); 
  65.  
  66. imeth objrtn IntegerDictionary_im_gDeepDisposeInt(object self, int key)
  67.     return Lookup(self, (object) &key, HT_DELETE, 2, LTYPE, NULL); 
  68.  
  69. static void init_class(void) 
  70.     Lookup = imcPointer(Set, gLookup); 
  71.  
  72. #line 93 "intdict.c"
  73.  
  74. objrtn    IntegerDictionary_initialize(void)
  75. {
  76.     static  CRITICALSECTION  cs;
  77.     static  int volatile once = 0;
  78.  
  79.     ENTERCRITICALSECTION(_CI_CS_);
  80.     if (!once) {
  81.         INITIALIZECRITICALSECTION(cs);
  82.         once = 1;
  83.     }
  84.     LEAVECRITICALSECTION(_CI_CS_);
  85.  
  86.     ENTERCRITICALSECTION(cs);
  87.  
  88.     if (IntegerDictionary_c) {
  89.         LEAVECRITICALSECTION(cs);
  90.         return IntegerDictionary_c;
  91.     }
  92.     INHIBIT_THREADER;
  93.     Set_initialize();
  94.     if (IntegerDictionary_c)  {
  95.         ENABLE_THREADER;
  96.         LEAVECRITICALSECTION(cs);
  97.         return IntegerDictionary_c;
  98.     }
  99.     IntegerDictionary_c = gNewClass(Class, "IntegerDictionary", 0, 0, Set, END);
  100.     iMethodFor(IntegerDictionary, gChangeValueWithInt, IntegerDictionary_im_gChangeValueWithInt);
  101.     iMethodFor(IntegerDictionary, gDeepDisposeInt, IntegerDictionary_im_gDeepDisposeInt);
  102.     iMethodFor(IntegerDictionary, gDisposeInt, IntegerDictionary_im_gDeepDisposeInt);
  103.     iMethodFor(IntegerDictionary, gDisposeAllNodes, IntegerDictionary_im_gDisposeAllNodes);
  104.     iMethodFor(IntegerDictionary, gRemoveInt, IntegerDictionary_im_gRemoveInt);
  105.     iMethodFor(IntegerDictionary, gFindInt, IntegerDictionary_im_gFindInt);
  106.     iMethodFor(IntegerDictionary, gFindValueInt, IntegerDictionary_im_gFindValueInt);
  107.     iMethodFor(IntegerDictionary, gDispose, IntegerDictionary_im_gDispose);
  108.     iMethodFor(IntegerDictionary, gAddInt, IntegerDictionary_im_gAddInt);
  109.     iMethodFor(IntegerDictionary, gFindAddInt, IntegerDictionary_im_gFindAddInt);
  110.  
  111.     init_class();
  112.  
  113.     ENABLE_THREADER;
  114.  
  115.     LEAVECRITICALSECTION(cs);
  116.  
  117.     return IntegerDictionary_c;
  118. }
  119.  
  120.  
  121.  
  122.